package com.young.shop.api.utils;

import org.apache.commons.mail.EmailException;
import org.apache.commons.mail.HtmlEmail;

import java.util.Random;

/**
 * @author 曾家乐
 * @version 1.0
 * @date 2021-01-09 10:36
 */
public class EmailUtil {

    /**
     * 生成6位数  验证码
     * @return  返回一个验证码
     */
    public static String random1(){
        String code = "";
        Random rd=new Random();
        for (int i = 0; i < 6; i++) {
            //每次随机出一个数字（0-9）
            int r = rd.nextInt(10);
            //把每次随机出的数字拼在一起
            code = code + r;
        }
        return code;
    }


    /**
     *  发送邮箱的具体方法
     * @param email 邮箱地址
     * @return
     */
    public static String SendToEmail(String email){
        //创建一个HtmlEmail实例对象
        HtmlEmail send = new HtmlEmail();
        // 获取随机验证码
        String resultCode = random1();
        try {
            send.setHostName("smtp.qq.com");
            //第一个参数是发送者的QQEamil邮箱   第二个参数是刚刚获取的授权码
            send.setAuthentication("619095726@qq.com","qtdbqzyesceqbdig");
            //发送人的邮箱为自己的，用户名可以随便填  记得是自己的邮箱不是qq
            send.setFrom("619095726@qq.com", "young商城");
            //端口号 可以不开
            send.setSmtpPort(465);
            //开启SSL加密
            send.setSSLOnConnect(true);
            send.setCharset("utf-8");
            //email+"@qq.com"
            //设置收件人    email为你要发送给谁的邮箱账户   上方参数
            send.addTo(email);
            //邮箱标题
            send.setSubject("young商城 验证码");
            //Email发送的内容
            send.setMsg("HelloWorld!欢迎大大光临，特此送上验证:   " + resultCode + "   请大大签收");
            //发送
            send.send();
            return resultCode;
        } catch (EmailException e) {
            e.printStackTrace();
            return null;
        }
    }
}
